package com.quanxiaoha.weblog.web.model.vo.ai;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author: 犬小哈
 * @url: www.quanxiaoha.com
 * @date: 2024-01-15
 * @description: AI助手聊天响应 VO
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel(value = "AI助手聊天响应 VO")
public class AiChatRspVO {

    @ApiModelProperty(value = "AI回复的消息")
    private String reply;

    @ApiModelProperty(value = "对话ID")
    private String conversationId;

    @ApiModelProperty(value = "推荐文章列表")
    private List<ArticleRecommendVO> recommendArticles;

    /**
     * 文章推荐 VO
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    @ApiModel(value = "文章推荐 VO")
    public static class ArticleRecommendVO {
        @ApiModelProperty(value = "文章 ID")
        private Long id;

        @ApiModelProperty(value = "文章标题")
        private String title;

        @ApiModelProperty(value = "文章摘要")
        private String summary;

        @ApiModelProperty(value = "创建时间")
        private String createTime;

        @ApiModelProperty(value = "相似度评分")
        private Double similarity;

        @ApiModelProperty(value = "匹配关键词")
        private String matchKeywords;
    }
}